/****************************************************************************
**
** Copyright (C) 2012 Darryl L. Miles.  All rights reserved.
** Copyright (C) 2012 D L Miles Consulting Ltd.  All rights reserved.
**
** This file is part of Qt Jambi.
**
**
** $BEGIN_LICENSE$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
**
** In addition, as a special exception, the copyright holders grant you
** certain additional rights. These rights are described in the Nokia Qt
** LGPL Exception version 1.0, included in the file LGPL_EXCEPTION.txt in
** this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL2 included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 2.0 requirements will be
** met: http://www.gnu.org/licenses/gpl-2.0.html
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL3 included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html
** $END_LICENSE$
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/

package com.trolltech.autotests;

import static org.junit.Assert.assertTrue;

import org.junit.Test;

import com.trolltech.qt.gui.QApplication;

public class TestStartup {
	// DISABLED due to this messing up the JUnit suite
	// TODO Move this to Integration Testing
    //@Test
    public void testQApplicationInitializeNull() {
        boolean caughtExpectedException = false;
        try {
            QApplication.initialize(null);   // this has been known to crash JVM
        } catch(NullPointerException npe) {
            // Now was this NPE a converted SIGSEGV ?  or due to "args.length" access below:
            //   com/trolltech/qt/core/QCoreApplication#argc(String args[])
            //     argc.setIntValue(args.length + 1);
            caughtExpectedException = true;
        }
        assertTrue(caughtExpectedException);
        if(caughtExpectedException)
            return;

        QApplication.shutdown();
    }

    public static void main(String args[]) {
        org.junit.runner.JUnitCore.main(TestStartup.class.getName());
    }
}
